package realdance.swing.outline;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;

/* 스윙 기본 컴퍼넌트 (텍스트 입력)
 * 문자'가', 문자열'가나 다라', 텍스트'여러줄 문자들'
 * JTextField       : 한줄의 문자열을 입력받음
 * setColumns       : 
 * setToolTipTextt	: 
 * setFont			: 
 * setMargin		: 
 * setEditable		: 
 * setEnabled		: 
 * JPasswordField(): 입력받은 문자를 *로 치환해서 출력
 * setEchoChar		: 
 * JTextArea()      : 여러 줄의 문자열을 입력받음
 * 					    줄과 단어를 줄바꿈(wrap)할 수 있음
 * 				  	   스크롤 기능을 추가하려면
 * 					  JScrollPane을 이용해야 함
 * setRows			: 
 * setLineWrap		: 
 *  
 */
public class J18_BasicComponent extends JFrame {
	private JTextField textField;
	private JTextField textField_1;
	private JPasswordField passwordField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					J18_BasicComponent frame = new J18_BasicComponent();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public J18_BasicComponent() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		
		JPanel panel = new JPanel();
		getContentPane().add(panel, BorderLayout.NORTH);
		
		textField = new JTextField();
		textField.setMargin(new Insets(10, 10, 10, 10));
		textField.setFont(new Font("맑은 고딕", Font.PLAIN, 12));
		textField.setToolTipText("아이디를 입력하세요");
		panel.add(textField);
		textField.setColumns(10);
		
		textField_1 = new JTextField();
		textField_1.setToolTipText("제목을 입력하세요");
		panel.add(textField_1);
		textField_1.setColumns(10);
		
		JPanel panel_1 = new JPanel();
		getContentPane().add(panel_1, BorderLayout.EAST);
		
		JPanel panel_2 = new JPanel();
		getContentPane().add(panel_2, BorderLayout.WEST);
		
		JPanel panel_3 = new JPanel();
		getContentPane().add(panel_3, BorderLayout.SOUTH);
		
		passwordField = new JPasswordField();
		passwordField.setToolTipText("비밀번호를 입력 하세요");
		passwordField.setEchoChar('*');
		passwordField.setColumns(15);
		panel_3.add(passwordField);
		
		JPanel panel_4 = new JPanel();
		getContentPane().add(panel_4, BorderLayout.CENTER);
	
		//JTextArea 스크롤 기능을 추가하기 위해서
		JScrollPane scrollPane = new JScrollPane();
		//JScrollPane 의 크기 지정
		scrollPane.setPreferredSize(new Dimension(350, 150));
		panel_4.add(scrollPane);
		
		//텍스트 입력 컴퍼넌트 생성
		JTextArea textArea = new JTextArea();
		textArea.setToolTipText("내용을 입력하세요");
		//JScrollPane의 헤더 영역이 아닌
		//뷰포트 영역에 JTextArea를 추가함
		scrollPane.setViewportView(textArea);
	}

}
